class Solution(object):
    def findMinFibonacciNumbers(self, k):
        ans = [1, 1]
        while ans[-1] + ans[-2] <= k:
            ans.append(ans[-1] + ans[-2])
        c = 0
        for i in range(len(ans) - 1, -1, -1):
            if ans[i] == k:
                c += 1
                return c
            else:
                if ans[i] < k:
                    c += 1
                    k -= ans[i]

